/**
 * 项目名称:
 *
 * @Author: 夏国倩
 * @Date: 2023/9/25 11:46
 * @Copyright
 */
package inner.lambda;

public class TestInterfaceA {
    public static void main(String[] args) {
       InterfaceA a1= new InterfaceA(){

            @Override
            public void show() {
                System.out.println("匿名内部类的实现方式");
            }
        };
       a1.show();
       /*
       使用匿名内部类的问题，当一个匿名内部类的实现非常简单，比如说接口中只有一个抽象方法
       使用匿名内部类就有笨拙
       Lambda 表达式：是JDK8开始后的一种新语法形式，用于简化匿名内部类的代码写法
       函数式接口：首先必须是接口（抽象类不可以）其次接口中有且仅有一个抽象方法的形式
       格式：
       （被重写方法的形参列表）->{
               被重写的方法体代码
            }
         -> 是语法形式，没有实际含义， 必须是英文状态下的中划线和大于符号组成
        */
        InterfaceA a2=()->{
            System.out.println("我是Lambda表达式");
        };
        a2.show();

    }
}
